home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / eiffel / smalleif.97 / se.t / SmallEiffel / bin_c / pretty4.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-02  |  27.5 KB  |  1,307 lines

  1. /* ANSI C code generated by SmallEiffel. */
  2. /*
  3. -- SmallEiffel  -- Release (- 0.97)    --      FRANCE
  4. -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN 
  5. -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr 
  6. -- CRIN (Centre de Recherche en Informatique de Nancy)
  7. -- FRANCE 
  8. */
  9. #include "pretty.h"
  10. void rT67copy(T67 *C,T0 * a1){
  11. /*IF*//*AF*//*AE*/
  12. memcpy(C,a1,s[C->id]);
  13. /*FI*/}
  14. T0 * rT67to_local_name(T67 *C,T0 * a1,int a2){
  15. T0 * R=NULL;
  16. {T179 *n=((T179*)new(179));
  17. rT179make(n,rT67pos((C)->_li,(C)->_co),XrT47to_string(rT137name((T137*)a1,a2)),rT137type((T137*)a1,a2),a2);
  18. R=(T0 *)n;}
  19. return R;
  20. }
  21. void rT67make(T67 *C,int a1,int a2){
  22. C->_li=a1;
  23. C->_co=a2;
  24. C->_to_string=oRBC67tmp_string;
  25. /*(IRF3*/(((T7*)(C)->_to_string)->_count)=(0);
  26. /*)*/}
  27. T0 * rT71add_comment(T71 *C,T0 * a1){
  28. T0 * R=NULL;
  29. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  30. R=(T0 *)C;
  31. }
  32. else {
  33. {T218 *n=((T218*)new(218));
  34. rT218make(n,(T0 *)C,a1);
  35. R=(T0 *)n;}}
  36. /*FI*/return R;
  37. }
  38. void rT71copy(T71 *C,T0 * a1){
  39. /*IF*//*AF*//*AE*/
  40. memcpy(C,a1,s[C->id]);
  41. /*FI*/}
  42. T0 * rT99run_type(T99 *C){
  43. T0 * R=NULL;
  44. R=(T0 *)C;
  45. return R;
  46. }
  47. void rT99pretty_print(T99 *C){
  48. rT259put_string((T259*)oRBC27fmt,rT99written_mark(C));
  49. }
  50. int rT99nb(T99 *C){
  51. int R=0;
  52. R=((T78*)(C)->_n)->_value;
  53. return R;
  54. }
  55. int ofBC100base_class_name=0;
  56. T0*oRBC100base_class_name;
  57. T0 * rT99base_class_name(/*C*/void){
  58. T0 * R=NULL;
  59. if (ofBC100base_class_name==0){
  60. ofBC100base_class_name=1;
  61. {T46 *n=((T46*)new(46));
  62. rT46make(n,(T0 *)ms508,NULL);
  63. R=(T0 *)n;}
  64. oRBC100base_class_name=R;}
  65. return oRBC100base_class_name;}
  66. T0* rT99written_mark(T99 *C){
  67. T0* R=NULL;
  68. {T7 *n=((T7*)new(7));
  69. rT7copy(n,(T0 *)ms506);
  70. R=(T0 *)n;}
  71. rT7append((T7*)R,rT2to_string(rT99nb(C)));
  72. return R;
  73. }
  74. void rT99copy(T99 *C,T0 * a1){
  75. /*IF*//*AF*//*AE*/
  76. memcpy(C,a1,s[C->id]);
  77. /*FI*/}
  78. void rT99make(T99 *C,T0 * a1,T0 * a2){
  79. C->_start_position=a1;
  80. C->_n=a2;
  81. }
  82. void rT98pretty_print(T98 *C){
  83. rT259put_string((T259*)oRBC27fmt,(C)->_written_mark);
  84. }
  85. T0 * rT98base_class_name(T98 *C){
  86. T0 * R=NULL;
  87. R=XrT56base_class_name((C)->_mapped);
  88. return R;
  89. }
  90. T0 * rT98base_class(T98 *C){
  91. T0 * R=NULL;
  92. R=rT46base_class((T46*)rT98base_class_name(C));
  93. return R;
  94. }
  95. void rT98copy(T98 *C,T0 * a1){
  96. /*IF*//*AF*//*AE*/
  97. memcpy(C,a1,s[C->id]);
  98. /*FI*/}
  99. void rT98make(T98 *C,T0 * a1,T0 * a2){
  100. C->_start_position=a1;
  101. C->_mapped=a2;
  102. {T7 *n=((T7*)new(7));
  103. rT7copy(n,(T0 *)ms207);
  104. C->_written_mark=(T0 *)n;}
  105. rT7append((T7*)(C)->_written_mark,XrT56written_mark((C)->_mapped));
  106. }
  107. void rT97pretty_print(T97 *C){
  108. rT259put_string((T259*)oRBC27fmt,(C)->_written_mark);
  109. }
  110. T0 * rT97base_class_name(T97 *C){
  111. T0 * R=NULL;
  112. R=XrT56base_class_name((C)->_run_type);
  113. return R;
  114. }
  115. T0 * rT97base_class(T97 *C){
  116. T0 * R=NULL;
  117. R=rT46base_class((T46*)rT97base_class_name(C));
  118. return R;
  119. }
  120. void rT97copy(T97 *C,T0 * a1){
  121. /*IF*//*AF*//*AE*/
  122. memcpy(C,a1,s[C->id]);
  123. /*FI*/}
  124. void rT97make(T97 *C,T0 * a1,T0 * a2){
  125. C->_start_position=a1;
  126. C->_like_what=a2;
  127. {T7 *n=((T7*)new(7));
  128. rT7copy(n,(T0 *)ms205);
  129. C->_written_mark=(T0 *)n;}
  130. rT7append((T7*)(C)->_written_mark,XrT65to_string((C)->_like_what));
  131. }
  132. void rT96pretty_print(T96 *C){
  133. rT259put_string((T259*)oRBC27fmt,(C)->_written_mark);
  134. }
  135. T0 * rT96base_class_name(T96 *C){
  136. T0 * R=NULL;
  137. R=XrT56base_class_name((C)->_run_type);
  138. return R;
  139. }
  140. T0 * rT96base_class(T96 *C){
  141. T0 * R=NULL;
  142. R=rT46base_class((T46*)rT96base_class_name(C));
  143. return R;
  144. }
  145. void rT96copy(T96 *C,T0 * a1){
  146. /*IF*//*AF*//*AE*/
  147. memcpy(C,a1,s[C->id]);
  148. /*FI*/}
  149. void rT96make(T96 *C,T0 * a1,T0 * a2){
  150. C->_start_position=a1;
  151. C->_like_what=a2;
  152. {T7 *n=((T7*)new(7));
  153. rT7copy(n,(T0 *)ms204);
  154. C->_written_mark=(T0 *)n;}
  155. rT7append((T7*)(C)->_written_mark,((T86*)(C)->_like_what)->_to_string);
  156. }
  157. T0 * rT88base_class_name(T88 *C){
  158. T0 * R=NULL;
  159. R=XrT56base_class_name((C)->_run_type);
  160. return R;
  161. }
  162. T0 * rT88base_class(T88 *C){
  163. T0 * R=NULL;
  164. R=rT46base_class((T46*)rT88base_class_name(C));
  165. return R;
  166. }
  167. void rT88copy(T88 *C,T0 * a1){
  168. /*IF*//*AF*//*AE*/
  169. memcpy(C,a1,s[C->id]);
  170. /*FI*/}
  171. void rT88make(T88 *C,T0 * a1,T0 * a2){
  172. C->_start_position=a1;
  173. C->_like_what=a2;
  174. if ((int)C->_like_what) switch (((T0 *)C->_like_what)->id) {
  175. case 87: 
  176. break;
  177. default:
  178. C->_like_what = NULL;
  179. };}
  180. T0 * rT85run_type(T85 *C){
  181. T0 * R=NULL;
  182. R=(T0 *)C;
  183. return R;
  184. }
  185. T0 * rT85start_position(T85 *C){
  186. T0 * R=NULL;
  187. R=((T46*)(C)->_base_class_name)->_start_position;
  188. return R;
  189. }
  190. T0 * rT85base_class(T85 *C){
  191. T0 * R=NULL;
  192. R=rT46base_class((T46*)(C)->_base_class_name);
  193. return R;
  194. }
  195. void rT85copy(T85 *C,T0 * a1){
  196. /*IF*//*AF*//*AE*/
  197. memcpy(C,a1,s[C->id]);
  198. /*FI*/}
  199. void rT85make(T85 *C,T0 * a1){
  200. {T46 *n=((T46*)new(46));
  201. rT46make(n,(T0 *)ms181,a1);
  202. C->_base_class_name=(T0 *)n;}
  203. }
  204. T0 * rT101run_type(T101 *C){
  205. T0 * R=NULL;
  206. R=(T0 *)C;
  207. return R;
  208. }
  209. void rT101pretty_print(T101 *C){
  210. rT259put_string((T259*)oRBC27fmt,rT101written_mark(C));
  211. }
  212. T0 * rT101base_class_name(/*C*/void){
  213. T0 * R=NULL;
  214. if (ofBC100base_class_name==0){
  215. ofBC100base_class_name=1;
  216. {T46 *n=((T46*)new(46));
  217. rT46make(n,(T0 *)ms508,NULL);
  218. R=(T0 *)n;}
  219. oRBC100base_class_name=R;}
  220. return oRBC100base_class_name;}
  221. T0* rT101written_mark(T101 *C){
  222. T0* R=NULL;
  223. {T7 *n=((T7*)new(7));
  224. rT7copy(n,(T0 *)ms507);
  225. R=(T0 *)n;}
  226. rT7append((T7*)R,XrT65to_string((C)->_n));
  227. return R;
  228. }
  229. void rT101copy(T101 *C,T0 * a1){
  230. /*IF*//*AF*//*AE*/
  231. memcpy(C,a1,s[C->id]);
  232. /*FI*/}
  233. void rT101make(T101 *C,T0 * a1,T0 * a2){
  234. C->_start_position=a1;
  235. C->_n=a2;
  236. C->_nb=-(1);
  237. }
  238. int rT102is_boolean(T102 *C){
  239. int R=0;
  240. R=XrT56is_boolean((C)->_run_type);
  241. return R;
  242. }
  243. T0 * rT102start_position(T102 *C){
  244. T0 * R=NULL;
  245. R=((T46*)(C)->_formal_name)->_start_position;
  246. return R;
  247. }
  248. void rT102pretty_print(T102 *C){
  249. rT259put_string((T259*)oRBC27fmt,rT102written_mark(C));
  250. }
  251. T0 * rT102base_class_name(T102 *C){
  252. T0 * R=NULL;
  253. R=XrT56base_class_name((C)->_run_type);
  254. return R;
  255. }
  256. T0 * rT102base_class(T102 *C){
  257. T0 * R=NULL;
  258. R=rT46base_class((T46*)rT102base_class_name(C));
  259. return R;
  260. }
  261. T0* rT102written_mark(T102 *C){
  262. T0* R=NULL;
  263. R=((T46*)(C)->_formal_name)->_to_string;
  264. return R;
  265. }
  266. void rT102copy(T102 *C,T0 * a1){
  267. /*IF*//*AF*//*AE*/
  268. memcpy(C,a1,s[C->id]);
  269. /*FI*/}
  270. void rT102make(T102 *C,T0 * a1,int a2){
  271. C->_rank=a2;
  272. C->_formal_name=a1;
  273. }
  274. T0 * rT103start_position(T103 *C){
  275. T0 * R=NULL;
  276. R=((T46*)(C)->_base_class_name)->_start_position;
  277. return R;
  278. }
  279. void rT103pretty_print(T103 *C){
  280. rT259put_string((T259*)oRBC27fmt,(C)->_written_mark);
  281. }
  282. T0 * rT103base_class(T103 *C){
  283. T0 * R=NULL;
  284. R=rT46base_class((T46*)(C)->_base_class_name);
  285. return R;
  286. }
  287. void rT103copy(T103 *C,T0 * a1){
  288. /*IF*//*AF*//*AE*/
  289. memcpy(C,a1,s[C->id]);
  290. /*FI*/}
  291. void rT103make(T103 *C,T0 * a1,T0 * a2){
  292. {T46 *n=((T46*)new(46));
  293. rT46make(n,(T0 *)ms185,a1);
  294. C->_base_class_name=(T0 *)n;}
  295. C->_generic_list=ma(104,0,1,a2);
  296. /*IF*/if (((T0 *)XrT56run_type(a2))==((T0 *)a2)) {
  297. C->_run_type=(T0 *)C;
  298. }
  299. /*FI*/{T7 *n=((T7*)new(7));
  300. rT7copy(n,(T0 *)ms210);
  301. C->_written_mark=(T0 *)n;}
  302. rT7append((T7*)(C)->_written_mark,XrT56written_mark(a2));
  303. rT7extend((T7*)(C)->_written_mark,'\135');
  304. }
  305. T0 * rT105run_type(T105 *C){
  306. T0 * R=NULL;
  307. R=(T0 *)C;
  308. return R;
  309. }
  310. T0 * rT105start_position(T105 *C){
  311. T0 * R=NULL;
  312. R=((T46*)(C)->_base_class_name)->_start_position;
  313. return R;
  314. }
  315. T0 * rT105base_class(T105 *C){
  316. T0 * R=NULL;
  317. R=rT46base_class((T46*)(C)->_base_class_name);
  318. return R;
  319. }
  320. void rT105copy(T105 *C,T0 * a1){
  321. /*IF*//*AF*//*AE*/
  322. memcpy(C,a1,s[C->id]);
  323. /*FI*/}
  324. void rT105make(T105 *C,T0 * a1){
  325. {T46 *n=((T46*)new(46));
  326. rT46make(n,(T0 *)ms187,a1);
  327. C->_base_class_name=(T0 *)n;}
  328. }
  329. T0 * rT107run_type(T107 *C){
  330. T0 * R=NULL;
  331. R=(T0 *)C;
  332. return R;
  333. }
  334. T0 * rT107start_position(T107 *C){
  335. T0 * R=NULL;
  336. R=((T46*)(C)->_base_class_name)->_start_position;
  337. return R;
  338. }
  339. T0 * rT107base_class(T107 *C){
  340. T0 * R=NULL;
  341. R=rT46base_class((T46*)(C)->_base_class_name);
  342. return R;
  343. }
  344. void rT107copy(T107 *C,T0 * a1){
  345. /*IF*//*AF*//*AE*/
  346. memcpy(C,a1,s[C->id]);
  347. /*FI*/}
  348. void rT107make(T107 *C,T0 * a1){
  349. {T46 *n=((T46*)new(46));
  350. rT46make(n,(T0 *)ms189,a1);
  351. C->_base_class_name=(T0 *)n;}
  352. }
  353. T0 * rT108run_type(T108 *C){
  354. T0 * R=NULL;
  355. R=(T0 *)C;
  356. return R;
  357. }
  358. T0 * rT108start_position(T108 *C){
  359. T0 * R=NULL;
  360. R=((T46*)(C)->_base_class_name)->_start_position;
  361. return R;
  362. }
  363. T0 * rT108base_class(T108 *C){
  364. T0 * R=NULL;
  365. R=rT46base_class((T46*)(C)->_base_class_name);
  366. return R;
  367. }
  368. void rT108copy(T108 *C,T0 * a1){
  369. /*IF*//*AF*//*AE*/
  370. memcpy(C,a1,s[C->id]);
  371. /*FI*/}
  372. void rT108make(T108 *C,T0 * a1){
  373. {T46 *n=((T46*)new(46));
  374. rT46make(n,(T0 *)ms196,a1);
  375. C->_base_class_name=(T0 *)n;}
  376. }
  377. T0 * rT109run_type(T109 *C){
  378. T0 * R=NULL;
  379. R=(T0 *)C;
  380. return R;
  381. }
  382. T0 * rT109start_position(T109 *C){
  383. T0 * R=NULL;
  384. R=((T46*)(C)->_base_class_name)->_start_position;
  385. return R;
  386. }
  387. T0 * rT109base_class(T109 *C){
  388. T0 * R=NULL;
  389. R=rT46base_class((T46*)(C)->_base_class_name);
  390. return R;
  391. }
  392. void rT109copy(T109 *C,T0 * a1){
  393. /*IF*//*AF*//*AE*/
  394. memcpy(C,a1,s[C->id]);
  395. /*FI*/}
  396. void rT109make(T109 *C,T0 * a1){
  397. {T46 *n=((T46*)new(46));
  398. rT46make(n,(T0 *)ms192,a1);
  399. C->_base_class_name=(T0 *)n;}
  400. }
  401. T0 * rT110run_type(T110 *C){
  402. T0 * R=NULL;
  403. R=(T0 *)C;
  404. return R;
  405. }
  406. T0 * rT110start_position(T110 *C){
  407. T0 * R=NULL;
  408. R=((T46*)(C)->_base_class_name)->_start_position;
  409. return R;
  410. }
  411. void rT110copy(T110 *C,T0 * a1){
  412. /*IF*//*AF*//*AE*/
  413. memcpy(C,a1,s[C->id]);
  414. /*FI*/}
  415. void rT110make(T110 *C,T0 * a1){
  416. {T46 *n=((T46*)new(46));
  417. rT46make(n,(T0 *)ms183,a1);
  418. C->_base_class_name=(T0 *)n;}
  419. }
  420. T0 * rT111run_type(T111 *C){
  421. T0 * R=NULL;
  422. R=(T0 *)C;
  423. return R;
  424. }
  425. T0 * rT111start_position(T111 *C){
  426. T0 * R=NULL;
  427. R=((T46*)(C)->_base_class_name)->_start_position;
  428. return R;
  429. }
  430. T0 * rT111base_class(T111 *C){
  431. T0 * R=NULL;
  432. R=rT46base_class((T46*)(C)->_base_class_name);
  433. return R;
  434. }
  435. void rT111copy(T111 *C,T0 * a1){
  436. /*IF*//*AF*//*AE*/
  437. memcpy(C,a1,s[C->id]);
  438. /*FI*/}
  439. void rT111make(T111 *C,T0 * a1){
  440. {T46 *n=((T46*)new(46));
  441. rT46make(n,(T0 *)ms184,a1);
  442. C->_base_class_name=(T0 *)n;}
  443. }
  444. T0 * rT112run_type(T112 *C){
  445. T0 * R=NULL;
  446. R=(T0 *)C;
  447. return R;
  448. }
  449. T0 * rT112start_position(T112 *C){
  450. T0 * R=NULL;
  451. R=((T46*)(C)->_base_class_name)->_start_position;
  452. return R;
  453. }
  454. T0 * rT112base_class(T112 *C){
  455. T0 * R=NULL;
  456. R=rT46base_class((T46*)(C)->_base_class_name);
  457. return R;
  458. }
  459. void rT112copy(T112 *C,T0 * a1){
  460. /*IF*//*AF*//*AE*/
  461. memcpy(C,a1,s[C->id]);
  462. /*FI*/}
  463. void rT112make(T112 *C,T0 * a1){
  464. {T46 *n=((T46*)new(46));
  465. rT46make(n,(T0 *)ms194,a1);
  466. C->_base_class_name=(T0 *)n;}
  467. }
  468. T0 * rT113run_type(T113 *C){
  469. T0 * R=NULL;
  470. R=(T0 *)C;
  471. return R;
  472. }
  473. T0 * rT113start_position(T113 *C){
  474. T0 * R=NULL;
  475. R=((T46*)(C)->_base_class_name)->_start_position;
  476. return R;
  477. }
  478. T0 * rT113base_class(T113 *C){
  479. T0 * R=NULL;
  480. R=rT46base_class((T46*)(C)->_base_class_name);
  481. return R;
  482. }
  483. void rT113copy(T113 *C,T0 * a1){
  484. /*IF*//*AF*//*AE*/
  485. memcpy(C,a1,s[C->id]);
  486. /*FI*/}
  487. void rT113make(T113 *C,T0 * a1){
  488. {T46 *n=((T46*)new(46));
  489. rT46make(n,(T0 *)ms186,a1);
  490. C->_base_class_name=(T0 *)n;}
  491. }
  492. T0 * rT114run_type(T114 *C){
  493. T0 * R=NULL;
  494. R=(T0 *)C;
  495. return R;
  496. }
  497. T0 * rT114start_position(T114 *C){
  498. T0 * R=NULL;
  499. R=((T46*)(C)->_base_class_name)->_start_position;
  500. return R;
  501. }
  502. void rT114pretty_print(T114 *C){
  503. rT259put_string((T259*)oRBC27fmt,rT114written_mark(C));
  504. }
  505. T0 * rT114base_class(T114 *C){
  506. T0 * R=NULL;
  507. R=rT46base_class((T46*)(C)->_base_class_name);
  508. return R;
  509. }
  510. T0* rT114written_mark(T114 *C){
  511. T0* R=NULL;
  512. R=((T46*)(C)->_base_class_name)->_to_string;
  513. return R;
  514. }
  515. void rT114copy(T114 *C,T0 * a1){
  516. /*IF*//*AF*//*AE*/
  517. memcpy(C,a1,s[C->id]);
  518. /*FI*/}
  519. T0 * rT115start_position(T115 *C){
  520. T0 * R=NULL;
  521. R=((T46*)(C)->_base_class_name)->_start_position;
  522. return R;
  523. }
  524. void rT115pretty_print(T115 *C){
  525. rT259put_string((T259*)oRBC27fmt,(C)->_written_mark);
  526. }
  527. T0* rT115clone(T115 *C,T0* a1){
  528. T0* R=NULL;
  529. /*IF*/if (((int)a1)) {
  530. R=(T0 *)new(a1->id);
  531. AF_1
  532. XrT28copy(R,a1);
  533. AF_0
  534. }
  535. /*FI*/return R;
  536. }
  537. T0 * rT115base_class(T115 *C){
  538. T0 * R=NULL;
  539. R=rT46base_class((T46*)(C)->_base_class_name);
  540. return R;
  541. }
  542. void rT115copy(T115 *C,T0 * a1){
  543. C->_base_class_name=((T115*)a1)->_base_class_name;
  544. C->_written_mark=((T115*)a1)->_written_mark;
  545. C->_generic_list=rT115clone(C,((T115*)a1)->_generic_list);
  546. }
  547. void rT115make(T115 *C,T0 * a1,T0* a2){
  548. int _is_run=0;
  549. T0 * _t=NULL;
  550. int _i=0;
  551. C->_base_class_name=a1;
  552. C->_generic_list=a2;
  553. _is_run=1;
  554. {T7 *n=((T7*)new(7));
  555. rT7copy(n,((T46*)a1)->_to_string);
  556. C->_written_mark=(T0 *)n;}
  557. rT7extend((T7*)(C)->_written_mark,'\133');
  558. _i=1;
  559. while (!((_i)>(((T104*)a2)->_upper))) {
  560. _t=rT104item((T104*)(C)->_generic_list,_i);
  561. rT7append((T7*)(C)->_written_mark,XrT56written_mark(_t));
  562. _is_run=(_is_run)&&(((T0 *)XrT56run_type(_t))==((T0 *)_t));
  563. _i=(_i)+(1);
  564. /*IF*/if ((_i)<=(((T104*)a2)->_upper)) {
  565. rT7extend((T7*)(C)->_written_mark,'\54');
  566. }
  567. /*FI*/}
  568. rT7extend((T7*)(C)->_written_mark,'\135');
  569. /*IF*/if (_is_run) {
  570. C->_run_type=(T0 *)C;
  571. }
  572. /*FI*/}
  573. void rT58fatal_error(/*C*/T0* a1){
  574. rT43fatal_error((T43*)oRBC27eh,a1);
  575. }
  576. T0*oRBC58storage;
  577. void rT58storage_grow(/*C*/int a1){
  578. int _i=0;
  579. T0* _str=NULL;
  580. _i=((T42*)oRBC58storage)->_upper;
  581. rT42resize((T42*)oRBC58storage,1,(((T42*)oRBC58storage)->_upper)+(a1));
  582. while (!((_i)==(((T42*)oRBC58storage)->_upper))) {
  583. _i=(_i)+(1);
  584. {T7 *n=((T7*)new(7));
  585. rT7make(n,80);
  586. _str=(T0 *)n;}
  587. rT42put((T42*)oRBC58storage,_str,_i);
  588. }
  589. }
  590. int ofBC58sfr=0;
  591. T0*oRBC58sfr;
  592. T0 * rT58sfr(/*C*/void){
  593. T0 * R=NULL;
  594. if (ofBC58sfr==0){
  595. ofBC58sfr=1;
  596. {T39 *n=((T39*)new(39));
  597. /*(IRF3*/((n)->_mode)=((T0 *)ms26);
  598. /*)*/R=(T0 *)n;}
  599. oRBC58sfr=R;}
  600. return oRBC58sfr;}
  601. T0* rT58item(/*C*/int a1){
  602. T0* R=NULL;
  603. R=rT42item((T42*)oRBC58storage,a1);
  604. return R;
  605. }
  606. int ofBC58init_storage=0;
  607. void rT58init_storage(/*C*/void){
  608. if (ofBC58init_storage==0){
  609. ofBC58init_storage=1;
  610. rT58storage_grow(3000);
  611. }
  612. }
  613. void rT58copy(T58 *C,T0 * a1){
  614. /*IF*//*AF*//*AE*/
  615. memcpy(C,a1,s[C->id]);
  616. /*FI*/}
  617. void rT58read(T58 *C,T0* a1){
  618. rT58init_storage();
  619. rT39connect_to((T39*)rT58sfr(),a1);
  620. /*IF*/if (rT39is_connected((T39*)rT58sfr())) {
  621. C->_count=0;
  622. while (!(rT39end_of_input((T39*)rT58sfr()))) {
  623. C->_count=((C)->_count)+(1);
  624. /*IF*/if ((((T42*)oRBC58storage)->_upper)<((C)->_count)) {
  625. rT58storage_grow(1000);
  626. }
  627. /*FI*/rT39read_line_in((T39*)rT58sfr(),rT42item((T42*)oRBC58storage,(C)->_count));
  628. }
  629. rT39disconnect((T39*)rT58sfr());
  630. }
  631. else {
  632. /*UT*/(T43*)oRBC27eh;
  633. rT43append((T0 *)ms75);
  634. /*UT*/(T43*)oRBC27eh;
  635. rT43append(a1);
  636. rT58fatal_error((T0 *)ms76);
  637. }
  638. /*FI*/}
  639. int rT92put_into(T92 *C,T0* a1,int a2){
  640. int R=0;
  641. int _rank=0;
  642. _rank=rT94index_of((T94*)a1,(T0 *)C);
  643. /*IF*/if ((_rank)<=(((T94*)a1)->_upper)) {
  644. /*UT*/(T43*)oRBC27eh;
  645. rT43add_position(rT92start_position(C));
  646. /*UT*/(T43*)oRBC27eh;
  647. rT43add_position(rT92start_position((T92*)rT94item((T94*)a1,_rank)));
  648. rT43error((T43*)oRBC27eh,(T0 *)ms509);
  649. }
  650. /*FI*/rT94put((T94*)a1,(T0 *)C,a2);
  651. R=(a2)+(1);
  652. return R;
  653. }
  654. T0 * rT92start_position(T92 *C){
  655. T0 * R=NULL;
  656. R=((T95*)(C)->_name)->_start_position;
  657. return R;
  658. }
  659. void rT92pretty_print(T92 *C){
  660. rT95pretty_print((T95*)(C)->_name);
  661. rT259put_string((T259*)oRBC27fmt,(T0 *)ms571);
  662. XrT56pretty_print((C)->_type);
  663. }
  664. int rT92is_equal(T92 *C,T0 * a1){
  665. int R=0;
  666. R=rT7is_equal((T7*)rT95to_key((T95*)(C)->_name),rT95to_key((T95*)((T92*)a1)->_name));
  667. return R;
  668. }
  669. void rT92copy(T92 *C,T0 * a1){
  670. /*IF*//*AF*//*AE*/
  671. memcpy(C,a1,s[C->id]);
  672. /*FI*/}
  673. void rT92make(T92 *C,T0 * a1,T0 * a2){
  674. C->_name=a1;
  675. C->_type=a2;
  676. }
  677. int rT140put_into(T140 *C,T0* a1,int a2){
  678. int R=0;
  679. T0 * _d1=NULL;
  680. int _i=0;
  681. _i=((T139*)(C)->_name_list)->_lower;
  682. R=a2;
  683. while (!((_i)>(((T139*)(C)->_name_list)->_upper))) {
  684. {T92 *n=((T92*)new(92));
  685. rT92make(n,rT139item((T139*)(C)->_name_list,_i),(C)->_type);
  686. _d1=(T0 *)n;}
  687. R=rT92put_into((T92*)_d1,a1,R);
  688. _i=(_i)+(1);
  689. }
  690. return R;
  691. }
  692. int rT140count(T140 *C){
  693. int R=0;
  694. R=rT139count((T139*)(C)->_name_list);
  695. return R;
  696. }
  697. void rT140pretty_print(T140 *C){
  698. int _i=0;
  699. _i=((T139*)(C)->_name_list)->_lower;
  700. rT95pretty_print((T95*)rT139item((T139*)(C)->_name_list,_i));
  701. _i=(_i)+(1);
  702. while (!((_i)>(((T139*)(C)->_name_list)->_upper))) {
  703. rT259put_string((T259*)oRBC27fmt,(T0 *)ms569);
  704. rT95pretty_print((T95*)rT139item((T139*)(C)->_name_list,_i));
  705. _i=(_i)+(1);
  706. }
  707. rT259put_string((T259*)oRBC27fmt,(T0 *)ms570);
  708. XrT56pretty_print((C)->_type);
  709. }
  710. void rT140copy(T140 *C,T0 * a1){
  711. /*IF*//*AF*//*AE*/
  712. memcpy(C,a1,s[C->id]);
  713. /*FI*/}
  714. void rT140make(T140 *C,T0* a1,T0 * a2){
  715. C->_name_list=a1;
  716. C->_type=a2;
  717. }
  718. T0 * rT168expression(T168 *C,int a1){
  719. T0 * R=NULL;
  720. R=XrT79item((C)->_list,a1);
  721. return R;
  722. }
  723. T0 * rT168first(T168 *C){
  724. T0 * R=NULL;
  725. R=rT168expression(C,1);
  726. return R;
  727. }
  728. int rT168count(T168 *C){
  729. int R=0;
  730. R=XrT79upper((C)->_list);
  731. return R;
  732. }
  733. void rT168pretty_print(T168 *C){
  734. int _i=0;
  735. rT259put_character((T259*)oRBC27fmt,'\50');
  736. _i=1;
  737. while (!((_i)>(rT168count(C)))) {
  738. XrT66pretty_print(rT168expression(C,_i));
  739. _i=(_i)+(1);
  740. /*IF*/if ((_i)<=(rT168count(C))) {
  741. rT259put_character((T259*)oRBC27fmt,'\54');
  742. }
  743. /*FI*/}
  744. rT259put_character((T259*)oRBC27fmt,'\51');
  745. }
  746. void rT168copy(T168 *C,T0 * a1){
  747. /*IF*//*AF*//*AE*/
  748. memcpy(C,a1,s[C->id]);
  749. /*FI*/}
  750. void rT212pretty_print(T212 *C){
  751. int _i=0;
  752. rT259indent((T259*)oRBC27fmt);
  753. rT259keyword((T259*)oRBC27fmt,/*(IRF4*/(T0 *)ms112/*)*/);
  754. rT259level_incr((T259*)oRBC27fmt);
  755. /*IF*/if (((int)(C)->_header_comment)) {
  756. rT57pretty_print((T57*)(C)->_header_comment);
  757. }
  758. else {
  759. rT259indent((T259*)oRBC27fmt);
  760. }
  761. /*FI*//*IF*/if (((int)(C)->_list)) {
  762. _i=1;
  763. while (!((_i)>(((T156*)(C)->_list)->_upper))) {
  764. /*IF*/if ((((T259*)oRBC27fmt)->_zen_mode)&&((_i)==(((T156*)(C)->_list)->_upper))) {
  765. /*(IRF3*/(((T259*)oRBC27fmt)->_semi_colon_flag)=(0);
  766. /*)*/}
  767. else {
  768. /*(IRF3*/(((T259*)oRBC27fmt)->_semi_colon_flag)=(1);
  769. /*)*/}
  770. /*FI*/rT259indent((T259*)oRBC27fmt);
  771. rT62pretty_print((T62*)rT156item((T156*)(C)->_list,_i));
  772. _i=(_i)+(1);
  773. }
  774. }
  775. /*FI*/rT259level_decr((T259*)oRBC27fmt);
  776. rT259indent((T259*)oRBC27fmt);
  777. }
  778. void rT212copy(T212 *C,T0 * a1){
  779. /*IF*//*AF*//*AE*/
  780. memcpy(C,a1,s[C->id]);
  781. /*FI*/}
  782. void rT212make(T212 *C,T0 * a1,T0 * a2,T0* a3){
  783. C->_start_position=a1;
  784. C->_header_comment=a2;
  785. C->_list=a3;
  786. }
  787. void rT258copy(T258 *C,T0 * a1){
  788. /*IF*//*AF*//*AE*/
  789. memcpy(C,a1,s[C->id]);
  790. /*FI*/}
  791. int rT258all_check(T258 *C){
  792. int R=0;
  793. R=((C)->_level)>=(0);
  794. return R;
  795. }
  796. void rT73bracketed_print(T73 *C){
  797. rT259put_character((T259*)oRBC27fmt,'\50');
  798. rT73pretty_print(C);
  799. rT259put_character((T259*)oRBC27fmt,'\51');
  800. }
  801. T0* rT73to_string(T73 *C){
  802. T0* R=NULL;
  803. {T7 *n=((T7*)new(7));
  804. rT7make(n,0);
  805. R=(T0 *)n;}
  806. rT7extend((T7*)R,'\47');
  807. {int iv1=(C)->_pretty_print_mode;
  808. if (0 == iv1) goto l2;
  809. goto l3;
  810.  l2: ;
  811. rT7extend((T7*)R,(C)->_value);
  812. goto l1;
  813.  l3: ;
  814. if (1 == iv1) goto l4;
  815. goto l5;
  816.  l4: ;
  817. rT73character_coding((C)->_value,R);
  818. goto l1;
  819.  l5: ;
  820. if (2 == iv1) goto l6;
  821. goto l7;
  822.  l6: ;
  823. rT7extend((T7*)R,'\45');
  824. rT7extend((T7*)R,'\57');
  825. rT2append_in(((unsigned char)(C)->_value),R);
  826. rT7extend((T7*)R,'\57');
  827. goto l1;
  828.  l7: ;
  829.  l1: ;
  830. }
  831. rT7extend((T7*)R,'\47');
  832. return R;
  833. }
  834. T0 * rT73add_comment(T73 *C,T0 * a1){
  835. T0 * R=NULL;
  836. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  837. R=(T0 *)C;
  838. }
  839. else {
  840. {T218 *n=((T218*)new(218));
  841. rT218make(n,(T0 *)C,a1);
  842. R=(T0 *)n;}}
  843. /*FI*/return R;
  844. }
  845. void rT73print_as_target(T73 *C){
  846. rT73bracketed_print(C);
  847. rT259put_character((T259*)oRBC27fmt,'\56');
  848. }
  849. void rT73pretty_print(T73 *C){
  850. rT259put_string((T259*)oRBC27fmt,rT73to_string(C));
  851. }
  852. void rT73copy(T73 *C,T0 * a1){
  853. /*IF*//*AF*//*AE*/
  854. memcpy(C,a1,s[C->id]);
  855. /*FI*/}
  856. void rT73make(T73 *C,T0 * a1,char a2,int a3){
  857. C->_start_position=a1;
  858. C->_value=a2;
  859. /*(IRF3*/((C)->_pretty_print_mode)=(a3);
  860. /*)*/}
  861. void rT73character_coding(/*C*/char a1,T0* a2){
  862. char _special='\0';
  863. {int iv1=a1;
  864. if (64 == iv1) goto l9;
  865. goto l10;
  866.  l9: ;
  867. _special='A';
  868. goto l8;
  869.  l10: ;
  870. if (8 == iv1) goto l11;
  871. goto l12;
  872.  l11: ;
  873. _special='B';
  874. goto l8;
  875.  l12: ;
  876. if (94 == iv1) goto l13;
  877. goto l14;
  878.  l13: ;
  879. _special='C';
  880. goto l8;
  881.  l14: ;
  882. if (36 == iv1) goto l15;
  883. goto l16;
  884.  l15: ;
  885. _special='D';
  886. goto l8;
  887.  l16: ;
  888. if (12 == iv1) goto l17;
  889. goto l18;
  890.  l17: ;
  891. _special='F';
  892. goto l8;
  893.  l18: ;
  894. if (92 == iv1) goto l19;
  895. goto l20;
  896.  l19: ;
  897. _special='H';
  898. goto l8;
  899.  l20: ;
  900. if (126 == iv1) goto l21;
  901. goto l22;
  902.  l21: ;
  903. _special='L';
  904. goto l8;
  905.  l22: ;
  906. if (10 == iv1) goto l23;
  907. goto l24;
  908.  l23: ;
  909. _special='N';
  910. goto l8;
  911.  l24: ;
  912. if (96 == iv1) goto l25;
  913. goto l26;
  914.  l25: ;
  915. _special='Q';
  916. goto l8;
  917.  l26: ;
  918. if (13 == iv1) goto l27;
  919. goto l28;
  920.  l27: ;
  921. _special='R';
  922. goto l8;
  923.  l28: ;
  924. if (35 == iv1) goto l29;
  925. goto l30;
  926.  l29: ;
  927. _special='S';
  928. goto l8;
  929.  l30: ;
  930. if (9 == iv1) goto l31;
  931. goto l32;
  932.  l31: ;
  933. _special='T';
  934. goto l8;
  935.  l32: ;
  936. if (0 == iv1) goto l33;
  937. goto l34;
  938.  l33: ;
  939. _special='U';
  940. goto l8;
  941.  l34: ;
  942. if (124 == iv1) goto l35;
  943. goto l36;
  944.  l35: ;
  945. _special='V';
  946. goto l8;
  947.  l36: ;
  948. if (37 == iv1) goto l37;
  949. goto l38;
  950.  l37: ;
  951. _special='\45';
  952. goto l8;
  953.  l38: ;
  954. if (39 == iv1) goto l39;
  955. goto l40;
  956.  l39: ;
  957. _special='\47';
  958. goto l8;
  959.  l40: ;
  960. if (34 == iv1) goto l41;
  961. goto l42;
  962.  l41: ;
  963. _special='\42';
  964. goto l8;
  965.  l42: ;
  966. if (91 == iv1) goto l43;
  967. goto l44;
  968.  l43: ;
  969. _special='\50';
  970. goto l8;
  971.  l44: ;
  972. if (93 == iv1) goto l45;
  973. goto l46;
  974.  l45: ;
  975. _special='\51';
  976. goto l8;
  977.  l46: ;
  978. if (123 == iv1) goto l47;
  979. goto l48;
  980.  l47: ;
  981. _special='\74';
  982. goto l8;
  983.  l48: ;
  984. if (125 == iv1) goto l49;
  985. goto l50;
  986.  l49: ;
  987. _special='\76';
  988. goto l8;
  989.  l50: ;
  990.  l8: ;
  991. }
  992. rT7extend((T7*)a2,'\45');
  993. /*IF*/if ((_special)==('\0')) {
  994. rT7extend((T7*)a2,'\57');
  995. rT2append_in(((unsigned char)a1),a2);
  996. rT7extend((T7*)a2,'\57');
  997. }
  998. else {
  999. rT7extend((T7*)a2,_special);
  1000. }
  1001. /*FI*/}
  1002. int rT49a_constant(T49 *C){
  1003. int R=0;
  1004. T0 * _fn=NULL;
  1005. T0 * _e_current=NULL;
  1006. /*IF*/if (rT49a_identifier(C)) {
  1007. R=1;
  1008. _fn=rT67to_feature_name((T67*)rT49tmp_name());
  1009. {T87 *n=((T87*)new(87));
  1010. rT87make(n,XrT65start_position(_fn),0);
  1011. _e_current=(T0 *)n;}
  1012. {T161 *n=((T161*)new(161));
  1013. rT161make(n,_e_current,_fn);
  1014. C->_last_expression=(T0 *)n;}}
  1015.  else if (rT49a_character_constant(C)) {
  1016. R=1;
  1017. C->_last_expression=(C)->_last_character_constant;
  1018. }
  1019.  else if (rT49a_integer_constant(C)) {
  1020. R=1;
  1021. C->_last_expression=(C)->_last_integer_constant;
  1022. }
  1023. /*FI*/return R;
  1024. }
  1025. int rT49a_conditional(T49 *C){
  1026. int R=0;
  1027. T0 * _ifthenelse=NULL;
  1028. /*IF*/if (rT49a_keyword(C,(T0 *)ms351)) {
  1029. R=1;
  1030. {T216 *n=((T216*)new(216));
  1031. /*(IRF3*/((n)->_start_position)=(rT49pos((C)->_start_line,(C)->_start_column));
  1032. /*)*/_ifthenelse=(T0 *)n;}
  1033. rT49a_then_part_list(C,_ifthenelse);
  1034. /*IF*/if (rT49a_keyword(C,(T0 *)ms105)) {
  1035. /*(IRF3*/(((T216*)_ifthenelse)->_else_compound)=(rT49a_compound2(C,(T0 *)ms357,(T0 *)ms119));
  1036. /*)*/}
  1037. else {
  1038. /*IF*/if (!(rT49a_keyword(C,(T0 *)ms119))) {
  1039. rT49wcp(C,(T0 *)ms358);
  1040. }
  1041. /*FI*/}
  1042. /*FI*/C->_last_instruction=_ifthenelse;
  1043. }
  1044. /*FI*/return R;
  1045. }
  1046. int rT49a_boolean_constant(T49 *C){
  1047. int R=0;
  1048. /*IF*/if (rT49a_keyword(C,(T0 *)ms158)) {
  1049. {T71 *n=((T71*)new(71));
  1050. /*(IRF3*/((n)->_start_position)=(rT49pos((C)->_start_line,(C)->_start_column));
  1051. /*)*/C->_last_boolean_constant=(T0 *)n;}R=1;
  1052. }
  1053.  else if (rT49a_keyword(C,(T0 *)ms159)) {
  1054. {T72 *n=((T72*)new(72));
  1055. /*(IRF3*/((n)->_start_position)=(rT49pos((C)->_start_line,(C)->_start_column));
  1056. /*)*/C->_last_boolean_constant=(T0 *)n;}R=1;
  1057. }
  1058. /*FI*/return R;
  1059. }
  1060. int rT49a_then_part(T49 *C,T0 * a1){
  1061. int R=0;
  1062. T0 * _expression=NULL;
  1063. /*IF*/if (rT49a_expression(C)) {
  1064. R=1;
  1065. _expression=XrT66add_comment((C)->_last_expression,rT49get_comments(C));
  1066. /*IF*/if (!(rT49a_keyword(C,(T0 *)ms102))) {
  1067. rT49wcp(C,(T0 *)ms352);
  1068. }
  1069. /*FI*/rT216add_if_then((T216*)a1,_expression,rT49a_compound1(C,(T0 *)ms353));
  1070. }
  1071. /*FI*/return R;
  1072. }
  1073. void rT49a_then_part_list(T49 *C,T0 * a1){
  1074. /*IF*/if (!(rT49a_then_part(C,a1))) {
  1075. rT49fcp(C,(T0 *)ms354);
  1076. }
  1077. /*FI*/while (!(!(rT49a_keyword(C,(T0 *)ms355)))) {
  1078. /*IF*/if (!(rT49a_then_part(C,a1))) {
  1079. rT49fcp(C,(T0 *)ms356);
  1080. }
  1081. /*FI*/}
  1082. }
  1083. T0 * rT49get_comments(T49 *C){
  1084. T0 * R=NULL;
  1085. /*IF*/if (((int)(C)->_last_comments)) {
  1086. R=(C)->_last_comments;
  1087. C->_last_comments=NULL;
  1088. }
  1089. /*FI*/return R;
  1090. }
  1091. int rT49a_parent(T49 *C){
  1092. int R=0;
  1093. int _old_column=0;
  1094. int _old_line=0;
  1095. /*IF*/if (rT49a_class_type(C)) {
  1096. R=1;
  1097. /*IF*/if (rT7is_equal((T7*)((T46*)rT49current_class_name(C))->_to_string,((T46*)XrT56base_class_name((C)->_last_class_type))->_to_string)) {
  1098. rT49error(XrT56start_position((C)->_last_class_type),(T0 *)ms223);
  1099. }
  1100. /*FI*/{T116 *n=((T116*)new(116));
  1101. rT116make(n,(C)->_last_class_type);
  1102. C->_last_parent=(T0 *)n;}
  1103. /*IF*/if (rT49a_keyword(C,(T0 *)ms226)) {
  1104. rT49a_rename_list(C);
  1105. /*IF*/if (((C)->_cc)==('\73')) {
  1106. rT49wcp(C,(T0 *)ms230);
  1107. C->_ok=rT49skip1(C,'\73');
  1108. }
  1109. /*FI*/}
  1110. /*FI*/rT49a_new_export_list(C);
  1111. /*IF*/if (rT49a_keyword(C,(T0 *)ms241)) {
  1112. rT49a_undefine_list(C);
  1113. }
  1114. /*FI*//*IF*/if (rT49a_keyword(C,(T0 *)ms242)) {
  1115. rT49a_redefine_list(C);
  1116. }
  1117. /*FI*//*IF*/if (rT49a_keyword(C,(T0 *)ms243)) {
  1118. rT49a_select_list(C);
  1119. }
  1120. /*FI*/_old_line=(C)->_line;
  1121. _old_column=(C)->_column;
  1122. /*IF*/if (((((rT49a_keyword(C,(T0 *)ms244))||(rT49a_keyword(C,(T0 *)ms245)))||(rT49a_keyword(C,(T0 *)ms246)))||(rT49a_keyword(C,(T0 *)ms247)))||(rT49a_keyword(C,(T0 *)ms248))) {
  1123. /*UT*/(T43*)oRBC27eh;
  1124. rT43add_position(rT49pos(_old_line,_old_column));
  1125. rT49fatal_error((T0 *)ms249);
  1126. }
  1127. /*FI*/C->_ok=rT49a_keyword(C,(T0 *)ms119);
  1128. }
  1129. /*FI*/return R;
  1130. }
  1131. void rT49a_parent_list(T49 *C,T0 * a1,T0 * a2){
  1132. T0* _list=NULL;
  1133. while (!(!(rT49a_parent(C)))) {
  1134. /*IF*/if (!(_list)) {
  1135. _list=ma(128,0,1,(C)->_last_parent);
  1136. }
  1137. else {
  1138. rT128add_last((T128*)_list,(C)->_last_parent);
  1139. }
  1140. /*FI*/C->_ok=rT49skip1(C,'\73');
  1141. /*(IRF3*/(((T116*)(C)->_last_parent)->_comment)=(rT49get_comments(C));
  1142. /*)*/}
  1143. /*IF*/if ((((int)a2))||(((int)_list))) {
  1144. rT48set_parent_list((T48*)(C)->_last_base_class,a1,a2,_list);
  1145. }
  1146. /*FI*/}
  1147. int rT49a_when_part(T49 *C,T0 * a1){
  1148. int R=0;
  1149. T0 * _constant=NULL;
  1150. T0 * _e_when=NULL;
  1151. int _state=0;
  1152. /*IF*/if (rT49a_keyword(C,(T0 *)ms363)) {
  1153. R=1;
  1154. {T224 *n=((T224*)new(224));
  1155. rT224make(n,rT49pos((C)->_start_line,(C)->_start_column),rT49get_comments(C));
  1156. _e_when=(T0 *)n;}
  1157. while (!((_state)>(3))) {
  1158. {int iv1=_state;
  1159. if (0 == iv1) goto l52;
  1160. goto l53;
  1161.  l52: ;
  1162. /*IF*/if (rT49a_constant(C)) {
  1163. _constant=(C)->_last_expression;
  1164. _state=1;
  1165. }
  1166.  else if (rT49a_keyword(C,(T0 *)ms102)) {
  1167. /*IF*/if (((int)_constant)) {
  1168. rT224add_value((T224*)_e_when,_constant);
  1169. }
  1170. /*FI*//*(IRF3*/(((T224*)_e_when)->_compound)=(rT49a_compound1(C,(T0 *)ms364));
  1171. /*)*/rT223add_when((T223*)a1,_e_when);
  1172. _state=4;
  1173. }
  1174.  else if (((C)->_cc)==('\54')) {
  1175. rT49wcp(C,(T0 *)ms232);
  1176. C->_ok=rT49skip1(C,'\54');
  1177. }
  1178. else {
  1179. rT49fcp(C,(T0 *)ms365);
  1180. _state=4;
  1181. }
  1182. /*FI*/goto l51;
  1183.  l53: ;
  1184. if (1 == iv1) goto l54;
  1185. goto l55;
  1186.  l54: ;
  1187. /*IF*/if (rT49a_keyword(C,(T0 *)ms102)) {
  1188. /*IF*/if (((int)_constant)) {
  1189. rT224add_value((T224*)_e_when,_constant);
  1190. }
  1191. /*FI*//*(IRF3*/(((T224*)_e_when)->_compound)=(rT49a_compound1(C,(T0 *)ms366));
  1192. /*)*/rT223add_when((T223*)a1,_e_when);
  1193. _state=4;
  1194. }
  1195.  else if (rT49skip2(C,'\56','\56')) {
  1196. _state=2;
  1197. }
  1198.  else if (rT49skip1(C,'\54')) {
  1199. rT224add_value((T224*)_e_when,_constant);
  1200. _constant=NULL;
  1201. _state=0;
  1202. }
  1203. else {
  1204. rT49fcp(C,(T0 *)ms365);
  1205. _state=4;
  1206. }
  1207. /*FI*/goto l51;
  1208.  l55: ;
  1209. if (2 == iv1) goto l56;
  1210. goto l57;
  1211.  l56: ;
  1212. /*IF*/if (rT49a_constant(C)) {
  1213. rT224add_slice((T224*)_e_when,_constant,(C)->_last_expression);
  1214. _constant=NULL;
  1215. _state=3;
  1216. }
  1217. else {
  1218. rT49fcp(C,(T0 *)ms365);
  1219. _state=4;
  1220. }
  1221. /*FI*/goto l51;
  1222.  l57: ;
  1223. /*IF*/if (rT49skip1(C,'\54')) {
  1224. _state=0;
  1225. }
  1226.  else if (rT49a_keyword(C,(T0 *)ms102)) {
  1227. /*(IRF3*/(((T224*)_e_when)->_compound)=(rT49a_compound1(C,(T0 *)ms367));
  1228. /*)*/rT223add_when((T223*)a1,_e_when);
  1229. _state=4;
  1230. }
  1231.  else if (rT49a_constant(C)) {
  1232. _constant=(C)->_last_expression;
  1233. rT49warning(rT67start_position((T67*)rT49tmp_name()),(T0 *)ms215);
  1234. _state=1;
  1235. }
  1236. else {
  1237. rT49fcp(C,(T0 *)ms365);
  1238. _state=4;
  1239. }
  1240. /*FI*/ l51: ;
  1241. }
  1242. }
  1243. }
  1244. /*FI*/return R;
  1245. }
  1246. void rT49a_select_list(T49 *C){
  1247. /*IF*/if (rT49a_feature_list(C)) {
  1248. rT116set_select((T116*)(C)->_last_parent,(C)->_last_feature_list);
  1249. }
  1250. /*FI*/}
  1251. int rT49a_unary(T49 *C){
  1252. int R=0;
  1253. /*IF*/if (rT49a_keyword(C,(T0 *)ms82)) {
  1254. {T64 *n=((T64*)new(64));
  1255. rT64make(n,(T0 *)ms82,rT49pos((C)->_start_line,(C)->_start_column));
  1256. C->_last_prefix=(T0 *)n;}
  1257. R=1;
  1258. }
  1259.  else if (rT49skip1(C,'\53')) {
  1260. {T64 *n=((T64*)new(64));
  1261. rT64make(n,(T0 *)ms84,rT49pos((C)->_start_line,(C)->_start_column));
  1262. C->_last_prefix=(T0 *)n;}
  1263. R=1;
  1264. }
  1265.  else if (rT49skip1(C,'\55')) {
  1266. {T64 *n=((T64*)new(64));
  1267. rT64make(n,(T0 *)ms85,rT49pos((C)->_start_line,(C)->_start_column));
  1268. C->_last_prefix=(T0 *)n;}
  1269. R=1;
  1270. }
  1271. /*FI*/return R;
  1272. }
  1273. int rT49a_rename_pair(T49 *C){
  1274. int R=0;
  1275. T0 * _rename_pair=NULL;
  1276. T0 * _name1=NULL;
  1277. /*IF*/if (rT49a_identifier(C)) {
  1278. _name1=rT67to_feature_name((T67*)rT49tmp_name());
  1279. /*IF*/if (rT49a_keyword(C,(T0 *)ms227)) {
  1280. /*IF*/if (rT49a_identifier(C)) {
  1281. R=1;
  1282. /*IF*/if (rT7is_equal((T7*)((T67*)rT49tmp_name())->_to_string,XrT65to_string(_name1))) {
  1283. rT49warning(rT67start_position((T67*)rT49tmp_name()),(T0 *)ms228);
  1284. }
  1285. else {
  1286. {T117 *n=((T117*)new(117));
  1287. rT117make(n,_name1,rT67to_feature_name((T67*)rT49tmp_name()));
  1288. _rename_pair=(T0 *)n;}
  1289. rT116add_rename((T116*)(C)->_last_parent,_rename_pair);
  1290. }
  1291. /*FI*/}
  1292. else {
  1293. rT49fcp(C,(T0 *)ms229);
  1294. }
  1295. /*FI*/}
  1296. else {
  1297. rT49go_back(C,XrT65start_position(_name1));
  1298. }
  1299. /*FI*/}
  1300. /*FI*/return R;
  1301. }
  1302. void rT49a_rename_list(T49 *C){
  1303. while (!(!(rT49a_rename_pair(C)))) {
  1304. C->_ok=rT49skip1(C,'\54');
  1305. }
  1306. }
  1307.